﻿
#region Imported Namespaces

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

#endregion

namespace TupleGeo.Emergency.CAP {

  /// <summary>
  /// The AlertStatus enumeration denotes the appropriate handling of the alert message.
  /// </summary>
  [SerializableAttribute()]
  [XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:cap:1.2")]
  public enum AlertStatus {

    /// <summary>
    /// <para>
    /// Actionable by all targeted recipients.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Actual</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Actual")]
    Actual,

    /// <summary>
    /// <para>
    /// Actionable only by designated exercise participants.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Exercise</code>
    /// </para>
    /// </summary>
    /// <remarks>
    /// Exercise identifier should appear in <see cref="Alert.Note"/>.
    /// </remarks>
    [XmlEnumAttribute("Exercise")]
    Exercise,

    /// <summary>
    /// <para>
    /// For messages that support alert network internal functions.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>System</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("System")]
    System,

    /// <summary>
    /// <para>
    /// Technical testing only, all recipients disregard.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Test</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Test")]
    Test,

    /// <summary>
    /// <para>
    /// A preliminary template or draft, not actionable in its current form.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Draft</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Draft")]
    Draft,

  }

}
